The special feature of a register is that its data outputs always (and not, such as e.g. in the case of a RAM, only after addressing) show the stored datum and are often not only used for storage, but also define a hardware function, for example the baud rate of a timer, the protocol of a communication, etc.
The term “soft errors” refers to errors that are not caused by physical damage, but through modification of the state of a bistable component due to external influences. Bistable components are, for example, flip-flops which can assume and also maintain two different states.
Soft errors are normally caused by high-energy particles, for example also as part of the cosmic radiation or radioactive inclusions in the housing material which penetrate a semiconductor and strike there, this being referred to as a “Single Event Upset” (SEU). RAM modules, but also flip-flops, are typically affected. Known countermeasures are error-detecting and/or error-correcting codings of the data in the RAM, for example by means of Error Correcting Code (ECC).
In the case of flip-flops, it is known as a protective measure to perform a majority decision. The flip-flop is triplicated and if all flip-flops do not have the same state, a “2 out of 3” or two-thirds majority decision is performed. Furthermore, radiation-resistant flip-flops are known which are less vulnerable but are also significantly larger than standard flip-flops. Other known methods use periodic reading (program-controlled) and rewriting of critical data. Periodic checking with CRC is similarly known, whereby each bit is serially polled periodically by means of e.g. a state machine and is incorporated in the calculation of a CRC sum.
Flip-flops are normally used as basic elements for many types of registers which are used, in particular, in microcontrollers, but also in most other IC types, for storage of data. One application is e.g. the storage of calibration data for an analog circuit or of configuration data for adaptation to a specific task.
In the case of registers which store variable data, the occurrence of the aforementioned errors means a temporary deviation in the calculation flow or control flow which can often be ignored in the system. A modification of the data in a configuration register or trim register is significantly more critical since, in registers of this type, the stored data are normally written once only after the system is switched on. In some instances, an error due to SEU will then remain until the system is switched off and may result in severe malfunctions.